package com.nowcoder.community.mapper;

import com.nowcoder.community.pojo.LoginTicket;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Mapper
@Repository("loginTicketMapper")
@Deprecated//该注解表明此类或接口已经不推荐使用
public interface LoginTicketMapper {
    /**
     * 登录成功后要插入的一条凭证
     * @param loginTicket 要插入的凭证实例
     * @return 插入凭证的数量
     */
    int insertLoginTicket(LoginTicket loginTicket);

    /**
     * 查询凭证，登录凭证中只能通过ticket来查询，其他的信息都涉及到用户的个人信息，所以要保存在服务器内部
     * @param ticket 要查询的凭证
     * @return 用户登录凭证实例
     */
    LoginTicket selectByTicket(String ticket);

    /**
     * 更新用户登录状态
     * @param ticket 要更新状态的用户凭证
     * @param status 更新后的状态
     * @return 大于0时更新成功
     */
    int updateStatus(@Param("ticket") String ticket, @Param("status") int status);

    /**
     * 删除用户的登录凭证
     * @return
     */
    int deleteLoginTicket(@Param("id") int userId);
}
